# 输出当前npm环境
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
# 获取当前 Node.js 的版本
NODE_VERSION=$(node -v)

# 获取当前客户端
CLIENT=$1

# 提取主版本号
MAJOR_VERSION=$(echo "$NODE_VERSION" | cut -d . -f1 | sed 's/v//')

echo "当前Node.js版本 ${YELLOW}${NODE_VERSION}${NC}"

echo "当前项目 ${YELLOW}${CLIENT}${NC}"

command_continue() {
  cd ../common

  # Check for pnpm
  if command_exists pnpm; then
    command_build pnpm
  else
    # Check for yarn
    if command_exists yarn; then
      command_build yarn
    else
      # Check for npm
      if command_exists npm; then
        command_build npm
      else
        echo "当前环境暂未安装 npm、pnpm、yarn 工具，请安装后重新运行脚本"
      fi
    fi
  fi

}

command_build() {
  echo "使用JavaScript包管理工具 ${YELLOW}${1}${NC}"
  echo "${GREEN}开始安装依赖并打包...${NC}"
  $1 install && $1 run build
  echo "${GREEN}正在启动${CLIENT}端项目${NC}" 
  cd "../${CLIENT}"
  $1 install && $1 run lunch
}

command_exists() {
  command -v "$1" >/dev/null 2>&1
}

# 比较版本号
if [ "$MAJOR_VERSION" -ge 18 ]; then
  command_continue
else
  echo "${RED}Node.js版本小于18请更新Node.js版本${NC}"
  echo "建议Node.js版本大于${RED} 18.12.0${NC}"
fi
